package top.z.work.module.system.api.logger.dto;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 访问日志实体类
 *
 * @author zaoangod
 * @since 2024-07-26
 */
@Data
@Accessors(chain = true)
public class SystemLoggerAccessDto implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    // 链路追踪编号
    private String        traceId;
    // 用户编号
    private Long          userId;
    // 请求方法名
    private String        requestMethod;
    // 访问地址
    private String        requestUrl;
    // 请求参数
    private String        requestParameter;
    // 用户 IP
    private String        requestIp;
    // 浏览器UA
    private String        userAgent;
    // 响应结果
    private String        responseBody;
    // 操作模块
    private String        operateModule;
    // 操作名
    private String        operateName;
    // 操作分类
    private Integer       operateType;
    // 开始请求时间
    private LocalDateTime beginTime;
    // 结束请求时间
    private LocalDateTime endTime;
    // 执行时长, 单位:毫秒
    private Integer       duration;
    // 结果码
    private Integer       resultCode;
    // 结果提示
    private String        resultMessage;

}
